#include <bits/stdc++.h>
using namespace std;
const int N = 1e2 + 5;
char s[N][N];

int dx[4] = {0, 1, 0, -1};
int dy[4] = {-1, 0, 1, 0};

int main() {
  int H, W;
  cin >> H >> W;
  for (int i = 1; i <= H; i++) {
    for (int j = 1; j <= W; j++)
      cin >> s[i][j];
  }
  for (int i = 1; i <= H; i++) {
    for (int j = 1; j <= W; j++) {
      if (s[i][j] == '.')
        continue;
      int cnt = 0;
      for (int k = 0; k < 4; k++) {
        int nx = i + dx[k], ny = j + dy[k];
        if (s[nx][ny] == '#')          
        cnt++;
      }
      if (cnt != 2 && cnt != 4) {
        cout << "No";
        return 0;
      }
    }
  }
  cout << "Yes";
  return 0;
}